Chris Pollett > Old Classes > CS216
( Print View )

Student Corner:
  [Grades Sec1]

  [Submit Sec1]

  [Class Sign Up Sec1]

  [
Lecture Notes]
  [Discussion Board]

Course Info:
  [Texts & Links]
  [Topics/Outcomes]
  [Outcomes Matrix]
  [Grading]
  [HW/Quiz Info]
  [Exam Info]
  [Regrades]
  [Honesty]
  [Additional Policies]
  [Announcements]

HWs and Quizzes:
  [Hw1]  [Hw2]  [Hw3]
  [Hw4]  [Quizzes]  [Project]

Practice Exams:
  [Mid]  [Final]

                           












CS216 Project

Due date: May 13

Files to be submitted: On the class demo day you will turn a CD with your source code.

Purpose: The semester long project is two-fold: (1) To develop a framework for creating scenes containing geometrically modeled objects. (2) Using your framework to create several interesting scenes.

Related course learning outcomes from the syllabus:

(5) Implement different methods of representing surfaces
(7) Understand and use scene graphs
(8) Implement Voronoi diagrams and Delaunay triangulations
(9) Implement and use BSP trees
(10) Create computer models of geodesics.

Specification:

For the project portion of this class you will write your own mini-framework from scratch to model 3D scenes. By a framework, I mean a library of classes and functions which will make it easy to store and render such scenes, not a GUI modeling program like 3ds Max, Maya, or Blender. I am going to leave you considerable flexibility in the design of your framework, however, I am going to specify a few minimum things it needs to support. In addition, to demonstrate your framework, you are to create four demo scenes which show off its features.

Minimum Things Your Framework needs to Support

  1. Your framework should support reading in a scene from a file
  2. Objects in a scene should be stored in data structures in a modeling language you design, but which can leverage off known model formats such as some kind of Quake Model.
  3. A scene should be built out of many such models and when drawn your framework should support a BSP representation to draw the scene efficiently.
  4. Your framework should support some way to create models of things like plants "organically" using Voronoi diagram techniques.
  5. Your framework should support the ability to "fly through" a scene along a curve specified in 3D. Your demo scenes should involve a fly through to demonstrate this feature.
  6. You may or may not choose to support textures the surfaces of your models; however, you should support the ability to draw curves that follow geodesics on some of your objects.
  7. Your framework should represent objects using at least two of the surface representations discussed during the semester.
  8. For your framework should research and implement at least one geometric modeling technique of your choice but which was not mentioned above.

Interim Progress Day 1

For the first progress day, I want you to look at different modeling formats and decide on one which you will extend for your project. I also want you to describe each of the four scenes you intend to use for your demos (from these I can hopefully judge how hard or not it will be to create the frame work you are going for). You should turn in a short one page report with a description of the modeling format you have decided on, and then give me four annotated, story board drawings of the scenes you intend to have.

Interim Progress Day 2

On this Progress day, I want you to give me a UML diagram of your frame work. In class, I will be doing a quick code review of the code you have completed so far. You should be prepared to demo a scene involving a working version of at least a couple of the items above.

Final Deliverable

On the demo day, you will demonstrate to me (your friends, etc) using your demo scenes each of the items above you succeeded in implementing. You will give me a CD of your project source code with detailed instructions of how to build it. On the CD you should also have a description of your project with an explanation of how it meets each of the requirements above as well as relevant points to where there requirements are met in the code and how they can be seen in the demo scenes.

Point Breakdown

Items 1-8 above (2pts each)16pts
Four demo scene which have fly-throughs (1/2pt each)2pts
Progress Update 11pts
Progress Update 21pts
Total20pts